home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / comm / net / cnetjam10.lha / s / JamMail.Wpl < prev    next >
Text File  |  1994-07-03  |  45KB  |  1,423 lines

  1. ; Jammer
  2. ; This config is guaranteed to work on whatever version of WPL i'm currently
  3. ; running.  It may/maynot work on future versions of WPL, and pretty much
  4. ; definately won't work on older versions.
  5. ; currently on WPL.library 0.97.04, JamMail.library 0.145
  6.  
  7.  TransferOut:
  8.    SetUpdate "$(XPRWindow)$(line) - Out: $(Remote.Add)/inactive"
  9.    XprSend ""
  10.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Send Status $(rc)"
  11.    Print "Turn around and receive\n"
  12.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  13.    XprReceive ""
  14.    Set stat $(RC)
  15.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Receive Status $(stat)"
  16.    XprClose
  17.    SetUpdate NULL
  18.    EndSession ALL
  19.    XprSetup jammail.library ""
  20.    XprSend "duration"
  21.    XprClose
  22.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<Time> End of Fido Session with $(called) Duration: $(duration)"
  23.    ReplyCall $(stat)
  24.    Jump PostSession
  25.  
  26.  TransferIn:
  27.    SetUpdate "$(XPRWindow)$(line) - In: $(Remote.Add)/inactive"
  28.    XprReceive ""
  29.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Receive Status $(RC)"
  30.    Print "Turn around and Send\n"
  31.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  32.    Delay 2
  33.    XprSend ""
  34.    Set stat $(RC)
  35.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Send Status $(stat)"
  36.    XprClose
  37.    SetUpdate NULL
  38.    EndSession ALL
  39.    XprSetup jammail.library ""
  40.    XprSend "duration"
  41.    XprClose
  42.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<Time> End of Fido Session with $(remote.address) Duration: $(duration)"
  43.    ReplyCall $(stat)
  44.    Jump PostSession
  45.  
  46.  XTransferOut:
  47.    SetUpdate "$(XPRWindow)$(line) - Out: $(Remote.Add)/inactive"
  48.    XprSend ""
  49.    Set stat $(RC)
  50.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Receive Status $(stat)"
  51.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  52.    XprClose
  53.    SetUpdate NULL
  54.    EndSession ALL
  55.    XprSetup jammail.library ""
  56.    XprSend "duration"
  57.    XprClose
  58.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<Time> End of Fido Session with $(called)  Duration: $(duration)"
  59.    ReplyCall $(stat)
  60.    Jump PostSession
  61.  
  62.  XTransferIn:
  63.    SetUpdate "$(XPRWindow)$(line) - In: $(Remote.Add)/inactive"
  64.    XprReceive ""
  65.    Set stat $(RC)
  66.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Send Status $(RC)"
  67.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  68.    XprClose
  69.    SetUpdate NULL
  70.    EndSession ALL
  71.    XprSetup jammail.library ""
  72.    XprSend "duration"
  73.    XprClose
  74.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<Time> End of Fido Session with $(remote.address)  Duration: $(duration)"
  75.    ReplyCall $(stat)
  76.    Jump PostSession
  77.  
  78.  DoDial:
  79.    Set State "Calling $(Remote.Address)\n"
  80.    ModemClear   
  81.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Trying To Connect To $(Remote.Address)"
  82.  
  83.    Clear Remote.Number
  84.    XprSetup jammail.library ""
  85.    XprSend "lOokup"
  86.    XprClose
  87.    Cmp $(Remote.number) ""
  88.    FalseJump DoDialhavenumber
  89.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> I don't know the number for $(Remote.Address)"
  90.    EndSession ALL
  91.    ReplyCall 20
  92.    Jump WaitRing
  93.  
  94.   DoDialhavenumber:
  95.    Set Dial $(DialString)
  96.    Set DialDisplay "Normal"
  97.   DoDial1:
  98.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Scanning for Dial Collision"
  99.   DoDial1.2:
  100.    GetResponse 5
  101.    CmpI $(event) TIMEOUT
  102.    TrueJump DoDial2
  103.    cmp $(event) OK
  104.    truejump dodial1.2
  105.    CallForward JAMMAIL
  106.    cmp $(event) EXTRA
  107.    truejump dodiallogextra
  108.    cmp $(event) CID
  109.    TrueJump NotExtraIn2
  110.    cmp $(event) RING
  111.    TrueJump gotcid
  112.    Jump SlaveLoop
  113.  
  114.   DoDialLogExtra:
  115.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastResponse)"
  116.    Jump DoDial1.2
  117.  
  118.   DoDial2:
  119.    cmpi $(remote.type) NRC
  120.    FalseJump DoDial2NotNRC
  121.    SetBaud 300
  122.  
  123.   DoDial2NotNRC:
  124.    EndSession ALL
  125.    SmartSend "$(Dial)$(Remote.number)|"
  126.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(Dial)$(Remote.number) ($(Dialdisplay))"
  127.    Set State "Dialing $(Remote.Address)\n"
  128.    GetResponse 120
  129.    send "\n"
  130.  
  131.  
  132.    cmpi $(remote.type) FIDO
  133.    FalseJump NotFidoDoDial
  134.    RexxMsg SY REXX "Address 'COMMAND' 'JamTool -r $(Remote.Zone).$(Remote.Net).$(Remote.Node).$(Remote.Point).$(Remote.Domain) $(event) no'"
  135.    Jump AfterTypeCheckDoDial
  136.  
  137.   NotFidoDoDial:
  138.    RexxMsg SY REXX "Address 'COMMAND' 'JamTool -r $(Remote.Address) $(event) no'"
  139.  
  140.   AfterTypeCheckDoDial:
  141.    Cmp $(event) EXTRA
  142.    FalseJump AfterTypeCheckNotExtra
  143.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastresponse)"
  144.    GetResponse 5
  145.    Jump AfterTypeCheckDoDial
  146.  
  147.   AfterTypeCheckNotExtra:
  148.    Cmp $(event) CONNECT
  149.    TrueJump Callconnect
  150.  
  151.    CmpI $(lastresponse) CONNECT
  152.    FalseJump not300
  153.    Set Baud 300
  154.    Jump Callconnect
  155.  
  156.   Not300:
  157.    Cmp $(event) TIMEOUT
  158.    FalseJump DoDial4
  159.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Timeout"
  160.     smartsend "|AT|"
  161.     ReplyCall 10
  162.     Jump Freeline
  163.  
  164.   DoDial4:
  165.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> -$(lastResponse)"
  166.    Cmp $(event) BUSY
  167.    FalseJump DoDial4.1
  168.    SmartSend "AT|"
  169.    ReplyCall 5
  170.    Jump Freeline
  171.  
  172.   DoDial4.1:
  173.    Cmp $(event) MAID
  174.    FalseJump DoDial4.2
  175.    ReplyCall 10
  176.    SmartSend "AT|"
  177.    Jump Freeline
  178.  
  179.   DoDial4.2:
  180.    Cmp $(event) LINE
  181.    FalseJump DoDial4.3
  182.    CallForward JAMMAIL$(line)
  183.    Jump GotCid
  184.  
  185.   DoDial4.3:
  186.    Cmp $(event) RING
  187.    FalseJump DoDial4.5
  188.    CallForward JAMMAIL$(line)
  189.    Jump GotCid
  190.  
  191.   DoDial4.5:
  192.    cmp $(event) CID
  193.    FalseJump FreeLine
  194.    CallForward JAMMAIL$(line)
  195.    Jump NotExtraIn2
  196.  
  197.  DialTypeNotHere:
  198.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<time> Call Type '$(remote.type)' Not Supported!"
  199.    EndSession ALL
  200.    ReplyCall 20
  201.    Jump FreeLine
  202.  
  203.  callconnect:
  204.    Set Start $<time>
  205.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastResponse)($(baud))"
  206.    Set State "Handshaking with $(Remote.Address)\n"
  207.  
  208.    CmpI $(Remote.type) UUCP
  209.    TrueJump DialTypeNotHere
  210.  
  211.    CmpI $(Remote.type) UUCP2
  212.    TrueJump DialTypeNotHere
  213.  
  214.    CmpI $(Remote.type) TERM
  215.    TrueJump DialTypeNotHere
  216.  
  217.    CmpI $(Remote.type) NRC
  218.    TrueJump DialTypeNotHere
  219.  
  220.    Set Host.Sitename "Hold On, We Have Something For You!"
  221.    Set MinSendPri 0 MaxSendPri 127
  222.    Set called $(Remote.Address)
  223.    Set State "Connected to $(Remote.Address)\n"
  224.    Cmp $(Pre_Session) ""
  225.    TrueJump NoPreSession
  226.    RexxMsg SY REXX "Address 'COMMAND' '$(Pre_Session)'"
  227.   NoPreSession:
  228.  
  229.    BeginSession $(remote.address)
  230.    Set TryEMSI TRUE
  231. ;0 aka's
  232.    Set RC $(TryEMSI)
  233.    FalseJump NotEMSI
  234.  
  235.    XprSetup wplemsi.library "Outbound Emsi"
  236.    XprSend ""
  237.    XprClose
  238.    set RC $(EMSI)
  239.    FalseJump NotEMSIFail
  240.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> EMSI HandShake!"
  241.    SetEnv $(line).Remote.Number $(Remote.Number)
  242.    SetEnv $(line).Host.Number $(Host.Number)
  243.    XprSetup jammail.library ""
  244.    XprSend "akalookup"
  245.    XprClose
  246.  
  247.    Seta Remote $(remote.addresses)
  248.    Set Remote.Add $(Remote.domain).$(Remote.zone).$(Remote.net).$(Remote.node).$(Remote.point)
  249.    BeginSession "$(remote.addresses.valid) EMSI"
  250.    BeginSession "$(remote.addresses.unknown)"
  251.    BeginSession "$(remote.addresses.valid.2)"
  252.    BeginSession "$(remote.addresses.unknown.2)"
  253.    BeginSession "$(remote.addresses.valid.3)"
  254.    BeginSession "$(remote.addresses.unknown.3)"
  255.    BeginSession "$(remote.addresses.valid.4)"
  256.    BeginSession "$(remote.addresses.unknown.4)"
  257.    BeginSession "$(remote.addresses.valid.5)"
  258.    BeginSession "$(remote.addresses.unknown.5)"
  259.    BeginSession "$(remote.addresses.valid.6)"
  260.    BeginSession "$(remote.addresses.unknown.6)"
  261.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Called $(called)"
  262.  
  263.    Cmp $(remote.addresses.valid) ""
  264.    Truejump NoValidEMSIout
  265.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid)"
  266.    Cmp $(remote.addresses.valid.2) ""
  267.    Truejump NoValidEMSIout
  268.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid.2)"
  269.    Cmp $(remote.addresses.valid.3) ""
  270.    Truejump NoValidEMSIout
  271.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid.3)"
  272.    Cmp $(remote.addresses.valid.4) ""
  273.    Truejump NoValidEMSIout
  274.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid.4)"
  275.    Cmp $(remote.addresses.valid.5) ""
  276.    Truejump NoValidEMSIout
  277.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid.5)"
  278.    Cmp $(remote.addresses.valid.6) ""
  279.    Truejump NoValidEMSIout
  280.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid.6)"
  281.   NoValidEMSIout:
  282.  
  283.    Cmp $(remote.addresses.unknown) ""
  284.    Truejump NounknownEMSIout
  285.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown)"
  286.    Cmp $(remote.addresses.unknown.2) ""
  287.    Truejump NoUnknownEMSIout
  288.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown.2)"
  289.    Cmp $(remote.addresses.unknown.3) ""
  290.    Truejump NoUnknownEMSIout
  291.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown.3)"
  292.    Cmp $(remote.addresses.unknown.4) ""
  293.    Truejump NoUnknownEMSIout
  294.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown.4)"
  295.    Cmp $(remote.addresses.unknown.5) ""
  296.    Truejump NoUnknownEMSIout
  297.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown.5)"
  298.    Cmp $(remote.addresses.unknown.6) ""
  299.    Truejump NoUnknownEMSIout
  300.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown.6)"
  301.   NoUnknownEMSIout:
  302.  
  303.    Cmp $(remote.addresses.invalid) ""
  304.    Truejump NoBadEMSIout
  305.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid)"
  306.    Cmp $(remote.addresses.invalid.2) ""
  307.    Truejump NoBadEMSIout
  308.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid.2)"
  309.    Cmp $(remote.addresses.invalid.3) ""
  310.    Truejump NoBadEMSIout
  311.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid.3)"
  312.    Cmp $(remote.addresses.invalid.4) ""
  313.    Truejump NoBadEMSIout
  314.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid.4)"
  315.    Cmp $(remote.addresses.invalid.5) ""
  316.    Truejump NoBadEMSIout
  317.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid.5)"
  318.    Cmp $(remote.addresses.invalid.6) ""
  319.    Truejump NoBadEMSIout
  320.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid.6)"
  321.   NoBadEMSIout:
  322.  
  323.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Name : $(remote.sitename)"
  324.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Sysop: $(remote.sysop) ($(remote.city))"
  325.    Pattern $(remote.password) ""
  326.    TrueJump OutEmsiProd
  327.       RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Pass : $(remote.password)"
  328.   OutEmsiProd:
  329.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Using: $(remote.mailer) $(remote.version)/$(remote.serial)"
  330.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Link : $(remote.link)"
  331.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Compt: $(remote.compat)"
  332.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Flags: $(remote.flags),$(remote.baud)"
  333.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Time : $(remote.time)/$(host.time)"
  334.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  335.    Set RC $(Remote.freq)
  336.    FalseJump CheckProtocolsOut
  337.  
  338.    FindFreq $(remote.addresses.valid)
  339.    FindFreq $(remote.addresses.unknown)
  340.    FindFreq $(remote.addresses.valid.2)
  341.    FindFreq $(remote.addresses.unknown.2)
  342.    FindFreq $(remote.addresses.valid.3)
  343.    FindFreq $(remote.addresses.unknown.3)
  344.    FindFreq $(called)"
  345.    Jump CheckProtocolsOut
  346.  
  347.   NotEMSI:
  348.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> EMSI Disabled, trying other handshake"
  349.    Jump PostNotEMSIFail
  350.  
  351.   NotEMSIFail:
  352.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> EMSI Failed, trying other handshake"
  353.  
  354.   PostNotEMSIFail:
  355.    Set Freq FALSE
  356.    GetOutbound "$(protocols)"
  357.    Cmp $(event) WAZOO
  358.    TrueJump IsOkOutbound
  359.    Cmp $(event) FTS1
  360.    TrueJump IsOkOutbound
  361.  
  362.    EndSession ALL
  363.    ReplyCall 99
  364.    Jump PostSession2
  365.  
  366.   IsOkOutbound:
  367.    CmpI $(called) $(Remote.Address)
  368.    TrueJump Fidoconnect2
  369.     Set Nodelist NONE
  370.     XprSetup jammail.library ""
  371.     XprSend "Lookup"
  372.     XprClose
  373.    cmp $(test.password) ""
  374.    TrueJump Dualpassed
  375.    cmp $(remote.password) $(test.password)
  376.    Truejump dualpassed
  377.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<time> $(remote.address) failed Password test"
  378.  
  379.    seta remote $(called)
  380.    Jump FidoConnect3
  381.  
  382.   Dualpassed:
  383.    BeginSession $(remote.address)
  384.    Set State "Connected to $(called) $(Remote.Address)\n"
  385.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<time> Connected to $(called) $(remote.address)"
  386.    Jump Fidoconnect3
  387.   Fidoconnect2:
  388.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<time> Connected to $(remote.address)"
  389.  
  390.   Fidoconnect3:
  391.    CmpI $(event) FTS1
  392.    FalseJump CallConnectWaZoo
  393.  
  394.    SetMailerFlags "DY,PY"
  395.    XprSetup xprfts.library "7y,cy,ob,ib,sy,bn,an,ny,wy,fy"
  396.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> FTS-1: Setup RC:$(RC)"
  397.    Jump XTransferOut
  398.  
  399.   CallConnectWaZoo:
  400.    Set IsOutbound TRUE
  401.    SubJump jammail!wazoo
  402.    Set IsOutbound FALSE
  403.  
  404.   Fidoconnect4:
  405.    Set RC $(Remote.freq)
  406.    FalseJump Wazoo2EmsiOut
  407.  
  408.    FindFreq $(called)
  409.    CmpI $(called) $(remote.address)
  410.    TrueJump Wazoo2EmsiOut
  411.    FindFreq $(Remote.address)
  412.  
  413.   Wazoo2EmsiOut:
  414.    Set Remote.Compat $(YooHoo.$(host.wzcap))
  415.  
  416.    CheckProtocolsOut:
  417.     Pattern $(Remote.Compat) "ZAP#?"
  418.     TrueJump ZapOut
  419.     Pattern $(Remote.Compat) "YMO#?"
  420.     TrueJump YModOut
  421.     Pattern $(Remote.Compat) "ZMO#?"
  422.     TrueJump ZipOut
  423.     Pattern $(Remote.Compat) "SLK#?"
  424.     TrueJump SeaLinkOut
  425.     Pattern $(Remote.Compat) "TLK#?"
  426.     TrueJump TeLinkOut
  427.  
  428.    DietOut:
  429.     XprSetup xprfts.library "$(ftsflags.$(Remote.product))"
  430.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: DietIFNA Setup RC:$(RC)"
  431.     Jump XTransferOut
  432.  
  433.    TeLinkOut:
  434.     XprSetup xprfts.library "OT,SN,MN"
  435.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: TeLink Setup RC:$(RC)"
  436.     Jump XTransferOut
  437.  
  438.    SeaLinkOut:
  439.     XprSetup xprfts.library "OS,SF,WY,MN"
  440.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: SeaLink Setup RC:$(RC)"
  441.     Jump XTransferOut
  442.  
  443.    ZipOut:
  444.     SetMailerFlags "DE,PN"
  445.     XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,M1024 
  446.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: ZedZip Setup RC:$(RC)"
  447.     Jump TransferOut
  448.  
  449.    YModOut:
  450.     SetMailerFlags "DE,PN"
  451.     XprSetup xprymodem.library YB,Z1,C1,B1
  452.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: YModem Setup RC:$(RC)"
  453.     Jump TransferOut
  454.  
  455.    ZapOut:
  456.     SetMailerFlags "DN,PN"
  457.     XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,NY,M8192,C$(BAUD) 
  458.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: ZedZap Setup RC:$(RC)"
  459.     Jump TransferOut
  460.  
  461. ;-------------- 
  462.  
  463.  OwnDevNotMe:
  464.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<time> $(Owner) owns device - Waiting.."
  465.    Print "$(Owner) owns device - Waiting..\n"
  466.    set RC TRUE
  467.    Return
  468.  
  469.  PostSession:
  470.    cmp $(Post_Session) ""
  471.    TrueJump PostSession2
  472.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(post_session)"
  473.    RexxMsg SY REXX "Address 'COMMAND' '$(Post_Session)'"
  474.  
  475.  PostSession2:
  476.    SignalSlave d JAMMAIL
  477.    clear event Return UserName
  478.    ModemClear
  479.    SmartSend "AT|"
  480.    getresponse 2
  481.    smartSend $(hangupstRing)
  482.  
  483.  freeLine:
  484.    getresponse 2
  485.    cmpi $(event) OK
  486.    TrueJump slaveloop
  487.      ModemClose
  488.      Delay 2
  489.  
  490.  slaveloop:
  491.    SubJump jammail!Setglobals
  492.    Set OwnDev jammail!OwnDevNotMe
  493.    Set State "Slaveloop\n"
  494.    Setpri $(Priority)
  495.    ModemOpen
  496.    TrueJump WaitRing
  497.       RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] Can't Open Modem!"
  498.       RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  499.       Return
  500.  
  501.  WaitRing:
  502.    Cmp $(State) "Waiting."
  503.    TrueJump mainwaitloop
  504.     SmartSend "AT|"
  505.     System "delete >nil: env:$(line).#?"
  506.     BangIt:
  507.       Smartsend "~$(hangupstring)~"
  508.       Smartsend "|~$(bang)|"
  509.       getresponse 2
  510.       Set RC $<abort>
  511.          FalseJump BangIt2
  512.          RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Line $(line) Exiting"
  513.          ModemClose
  514.          Return
  515.      BangIt2:
  516.       cmp $(event) RING
  517.       TrueJump PostBang
  518.       cmp $(event) OK
  519.       TrueJump PostBang
  520.       ModemClose
  521.       Delay 2
  522.       ModemOpen
  523.       smartSend "$(hangupstRing)|"
  524.       Jump BangIt
  525.      PostBang:
  526.       smartSend "$(InitstRing)|"
  527.       print "\033[33m"
  528.       RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Waiting for Call..."
  529.       RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  530.       Set State "Waiting."
  531.       getresponse 4
  532.       Set Rings 0
  533.       Setenv $(Line).CID "Not Available"
  534.       Setenv $(Line).Rings "0"
  535.  
  536.  MainWaitLoop:
  537.    SubJump jammail!ModemInit
  538.    FalseJump freeLine
  539.    cmpi $(event) OK
  540.    falsejump WaitRing1.22
  541.  
  542.    CheckCall
  543.    TrueJump DoDial
  544.    Pattern $(Rings) 0#?
  545.    FalseJump WaitRing
  546.    Pattern $(State) Wait#?
  547.    FalseJump WaitRing
  548.  
  549.    Set RC $<abort>
  550.    FalseJump WaitRing1
  551.       RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Line $(line) Exiting"
  552.       ModemClose
  553.       Return
  554.  
  555.   WaitRing1:
  556.    SubJump jammail!Setglobals
  557.  
  558.   WaitRing1.1:
  559.    Set OwnDevUnit TRUE
  560.    Set CallInterupt TRUE
  561.    GetResponse $(Timeoutvalue)
  562.   WaitRing1.22:
  563.    Set OwnDevUnit FALSE
  564.    Set CallInterupt FALSE
  565.    CmpI $(event) OWNDEVUNIT
  566.    TrueJump freeLine
  567.    CmpI $(event) Timeout
  568.    TrueJump Mainwaitloop
  569.    CmpI $(event) OK
  570.    TrueJump Mainwaitloop
  571.    Setpri $(Priority)
  572.   Waitring1.23:
  573.    CMP $(event) EXTRA
  574.    FalseJump NotExtraIn1
  575.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastResponse)"
  576.      Jump WaitRing1.1
  577.   NotExtraIn1:
  578.    CmpI $(event) Ring
  579.    FalseJump WaitRing3
  580.      Set State "Ring..Ring..\n"
  581.      System "eval >env:$(Line).Rings $(Rings) + 1 lformat=\"%n\""
  582.      Set Rings ${$(Line).Rings}
  583.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastResponse) $(Rings)"
  584.      cmpi $(answerring) 0
  585.      truejump gotcid
  586.      cmpi $(answerring) 1
  587.      truejump gotcid
  588.      Cmp $(Rings) $(AnswerRing)
  589.      TrueJump gotCID
  590.      Set Timeoutvalue 6
  591.      Jump WaitRing1.1
  592.  
  593.   WaitRing3:
  594.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastResponse) ($(event))"
  595.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  596.    Set State "$(event)\n"
  597.    Set Timeoutvalue 1
  598.    CmpI $(event) CID
  599.    FalseJump WaitRing1.1
  600.    Setenv $(Line).CID $(lastResponse)
  601.  
  602.   gotCID:
  603.    SmartSend $(Answer)
  604.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Answer"
  605.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  606.  
  607.   GotCID2:
  608.    GetResponse 120
  609.    Cmp $(event) CONNECT
  610.    TrueJump CIDcarrier
  611.    Cmp $(event) TIMEOUT
  612.    FalseJump AfterAnswer
  613.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> TimeOut"
  614.      Jump PostSession2
  615.   AfterAnswer:
  616.    Cmp $(event) MAID
  617.    FalseJump AfterAnswer2
  618.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Modem TimeOut"
  619.      Jump PostSession2
  620.   AfterAnswer2:
  621.    Cmp $(event) EXTRA
  622.    FalseJump NotExtraIn2
  623.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastResponse)"
  624.      Jump GotCid2
  625.   NotExtraIn2:
  626.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastResponse) ($(event))"
  627.    Cmp $(event) LINE
  628.    TrueJump WaitRing
  629.    Cmp $(event) RING
  630.    TrueJump gotcid
  631.    CmpI $(event) CID
  632.    FalseJump gotCID2
  633.    Setenv $(Line).CID $(lastResponse)
  634.    Jump gotCID2
  635.  
  636.   CIDcarrier:
  637.    Set Start $<time>
  638.    Set State "Connected To ${$(Line).CID}\n"
  639.    Set MaxSendPri 127 MinSendPri -127
  640.    Set host.sitename "Welcome to Frontiers BBS!"
  641.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(lastResponse)($(baud))"
  642.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  643.  
  644.    RexxMsg SY REXX "Address 'COMMAND' 'echo >env:$(line).date `date` noline'"
  645.    Set temp "\n\r$(lastResponse) / ${$(Line).date} $<Time>\n\r\n\r"
  646.    Print $(temp)
  647.    Send $(temp)
  648.    XprSetup jammail.library ""
  649.    XprSend "Type TEXT:Banner"
  650.    XprClose
  651.  
  652. ;---
  653.   mconnect:
  654.    Set Temp "\n\r**EMSI_REQA77E\n\r"
  655.    Print $(temp)
  656.    Send $(temp)
  657.    Set temp "\rWelcoming you with JamMail 0.98.421/${WPLName}\r\nLine $(Line) - $(modem)\r\n"
  658.    Print $(temp)
  659.    Send $(temp)
  660.    Set RC ${ZMH}
  661.    FalseJump mconnect0.1
  662.    Set Temp "\r\nNetwork Mail Time Zone is in Effect!  This system is currently Mail Only!\r\n\r\n"
  663.    Set Host.Freq false
  664.    Print $(temp)
  665.    Send $(temp)
  666.  
  667.   mconnect0.1:
  668.    Set Temp "\n$(host.address)\n\n\rType ? for Help, or FR (or ESC twice) for Frontiers BBS: "
  669.    Print $(temp)
  670.    Send $(temp)
  671.    Clear temp namebuf
  672.  
  673.    Setpri $(Priority)
  674.    GetInbound "$(protocols),GE,E0" 120
  675.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Event: $(event)"
  676.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  677.    Pattern $(event) LOGIN
  678.    FalseJump mconnect2
  679.      Pattern $(namebuf) ""
  680.      TrueJump mconnect
  681.      Pattern $(namebuf) "#?}{#?"
  682.      FalseJump NotPoPemsiin
  683.       Set Event "EMSI_INQ"
  684.       Set Host.Sitename "JamMail Detected Buggy EMSI"
  685.       RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(host.sitename)"
  686.       Jump mconnect2
  687.      NotPoPemsiIn:
  688.      Set State "User At Login\n"
  689.      Set UserName $(namebuf)
  690.      clear namebuf
  691.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> UserCommand: $(UserName)"
  692.  
  693.      CmpI $(UserName) ?
  694.      TrueJump Loginhelp
  695.      Set RC ${ZMH}
  696.      TrueJump MconnectZmh
  697.      Pattern $(UserName) freq#?
  698.      TrueJump Promptfreq
  699.      Pattern $(UserName) grab#?
  700.      TrueJump Promptfreq
  701.  
  702.      Pattern $(UserName) "FILES"
  703.      TrueJump ZSendFR_FILES.LHA
  704.      Pattern $(UserName) "CFILES"
  705.      TrueJump ZSendFR_CNET.LHA
  706.      Pattern $(UserName) "DFILES"
  707.      TrueJump ZSendFR_DOTORAN.LHA
  708.      Pattern $(UserName) "GETUSERS"
  709.      TrueJump ZSendGU30_PACKAGE.LHA
  710.  
  711.      CmpI $(UserName) bbs
  712.      TrueJump bbslaunch1
  713.      CmpI $(UserName) "FR"
  714.      TrueJump bbslaunch1
  715.     MconnectZmh:
  716.  
  717.      CmpI $(UserName) off
  718.      TrueJump loginhangup
  719.      CmpI $(UserName) bye
  720.      TrueJump loginhangup
  721.      CmpI $(UserName) quit
  722.      TrueJump loginhangup
  723.      CmpI $(UserName) exit
  724.      TrueJump loginhangup
  725.      CmpI $(UserName) g
  726.      TrueJump loginhangup
  727.      CmpI $(UserName) CID
  728.      TrueJump displayCID
  729.  
  730.    logintype:
  731.    Xprsetup jammail.library ""
  732.    XprSend "isvalid"
  733.    XprClose
  734.    Set RC $(isvalid)
  735.      FalseJump NotValidLoginType
  736.  
  737.    Cmp $(username) help
  738.    TrueJump HelpByeType
  739.    Cmp $(username) goodbye
  740.    TrueJump HelpByeType
  741.    Xprsetup jammail.library ""
  742.    XprSend "type TEXT:$(username)"
  743.    XprClose
  744.    Jump mconnect
  745.  
  746.   HelpByeType:
  747.    Xprsetup jammail.library ""
  748.    XprSend "Type TEXT:$(username)"
  749.    XprClose
  750.      Cmp $(UserName) goodbye
  751.      FalseJump mconnect
  752.      Jump PostSession2
  753.  
  754.    NotValidLoginType:
  755.      set temp "Invalid String Entered\n"
  756.      send $(temp)
  757.      print $(temp)
  758.      Jump mconnect
  759.  
  760.    loginhangup:
  761.      Set UserName goodbye
  762.      Jump logintype
  763.  
  764.    loginhelp:
  765.      Set UserName help
  766.      Jump logintype
  767.  
  768.    displayCID:
  769.       Set CallerID "\nCID: ${$(Line).CID}\n"
  770.       print $(callerid)
  771.       Send $(callerid)
  772.       Jump mconnect
  773.  
  774.    bbslaunch1:
  775.      Set State "User Dropped To FR\n"
  776.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<time> CNET:BBSWAKE PORT=$(line) BAUD=$(baud) LOCK=$(baudlocked)"
  777.      RexxMsg SY REXX "Address 'COMMAND' 'CNET:BBSWAKE PORT=$(line) BAUD=$(baud) LOCK=$(baudlocked)'"
  778.      CmpI $(RC) 0
  779.  
  780.     bbslaunch1.3:
  781.      System "0"
  782.      Jump PostSession2
  783.  
  784.    Promptfreq:
  785.      Set State "User Freqing Files\n"
  786.     XprSetup jammail.library ""
  787.     XprSend "Type TEXT:FReqBanner"
  788.     XprClose
  789.      Set temp "\r\nBatch Zmodem Download.  Enter one name per Line.  Q to Exit (Abort).\r\n\r\n"
  790.      Send $(temp)
  791.      print $(temp)
  792.      BeginSession $(FreqAddress)
  793.      System "delete >nil: t:freq-$(Line).req"
  794.      Set counter FALSE
  795.  
  796.    Promptfreqprompt:
  797.      Set temp "Enter Filename to Download: "
  798.      Send $(temp)
  799.      print $(temp)
  800.      GetInbound "G1,G6,E0" 120
  801.      CmpI $(event) CARRIER
  802.      TrueJump mconnect
  803.      CmpI $(namebuf) q
  804.      truejump mconnect
  805.      CmpI $(namebuf) magic
  806.      FalseJump pfreqhelp
  807.     XprSetup jammail.library ""
  808.     XprSend "Type TEXT:MagicNames"
  809.     XprClose
  810.      Jump promptfreqprompt
  811.  
  812.     pfreqhelp:
  813.      CmpI $(namebuf) "help"
  814.      TrueJump promptfreqhelp
  815.      Cmp $(namebuf) "?"
  816.      FalseJump prefreqAdd
  817.  
  818.     promptfreqhelp:
  819.     XprSetup jammail.library ""
  820.     XprSend "Type $(freqhelp)"
  821.     XprClose
  822.      Jump promptfreqprompt
  823.  
  824.     prefreqAdd:
  825.      CmpI $(namebuf) ""
  826.      FalseJump PromptfreqAdd
  827.      Set RC $(counter)
  828.      TrueJump Promptdofreq
  829.      Jump mconnect
  830.   
  831.    PromptfreqAdd:
  832.      Set username $(namebuf)
  833.     XprSetup jammail.library ""
  834.     XprSend "isvalid"
  835.     XprClose
  836.     Set RC $(isvalid)
  837.      FalseJump NotValidFreqAdd
  838.  
  839.      Set counter TRUE
  840.      System "echo >>t:freq-$(Line).req $(namebuf)"
  841.      Jump PromptFreqPrompt
  842.  
  843.    NotValidFreqAdd:
  844.      set temp "Invalid FileName!\n"
  845.      send $(temp)
  846.      print $(temp)
  847.      Jump PromptFreqPrompt
  848.  
  849.    Promptdofreq:
  850.      Set State "User Freqing Files\n"
  851.      Set temp "Scanning for file(s)"
  852.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(temp)"
  853.      Send "\r\n$(temp)\r\n"
  854.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Run $(xferqsh) >>$(userfreqlog) $(userfreqcfg) freq-$(Line).req t:freq-$(Line).req $(FreqAddress) \"$(baud) on ${$(Line).date} $<Time>\""
  855.      System "Run $(xferqsh) >>$(userfreqlog) $(userfreqcfg) freq-$(Line).req t:freq-$(Line).req $(FreqAddress) \"$(baud) on ${$(Line).date} $<Time>\""
  856.      Delay 2
  857.      Set temp "Sending file(s) with Batch Zmodem\n\r\n\r"
  858.      print $(temp)
  859.      Send $(temp)
  860.      clear temp
  861.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Starting Batch Send"
  862.      SetUpdate "$(XPRWindow)${$(Line).CID} - Freq Line $(Line)/inactive"
  863.      XprSetup xprzedzap.library "TN,OR,B16,F0,E10,AN,DN,KN,SY,RN,M1024"
  864.      XprSend ""
  865.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Finished Batch Send"
  866.      XprClose
  867.      SetUpdate NULL
  868.      EndSession All
  869.      Jump mconnect
  870.  
  871.    ZSendFR_FILES.LHA:
  872.      Set message "Listing of all files found on Frontiers BBS! (Updated Weekly!)"
  873.      Send $(message)
  874.      Set promptfile "FREQ:FR_FILES.LHA"
  875.      Set username "FR_FILES.LHA"
  876.      Jump PromptZSend
  877.  
  878.    ZSendFR_CNET.LHA:
  879.      Set message "Listing of all CNET files found on Frontiers BBS! (Updated Weekly!)"
  880.      Send $(message)
  881.      Set promptfile "FREQ:FR_CNET.LHA"
  882.      Set username "FR_CNET.LHA"
  883.      Jump PromptZSend
  884.  
  885.    ZSendFR_DOTORAN.LHA:
  886.      Set message "Listing of all files written by Dotoran of Frontiers BBS! (Updated Weekly!)"
  887.      Send $(message)
  888.      Set promptfile "FREQ:FR_DOTORAN.LHA"
  889.      Set username "FR_DOTORAN.LHA"
  890.      Jump PromptZSend
  891.  
  892.    ZSendGU30_PACKAGE.LHA:
  893.      Set message "CNet Amiga, v2.63 thru v3.05c Short & Long OFFSET GetUser Values!"
  894.      Send $(message)
  895.      Set promptfile "udbase0:cnet_dotoran2/GU30_Package.LHA"
  896.      Set username "GU30_PACKAGE.LHA"
  897.      Jump PromptZSend
  898.  
  899.    PromptZSend:
  900.      Set temp "\r\n\r\nSending '$(username)' with Zmodem Batch\n\r"
  901.      print $(temp)
  902.      Send $(temp)
  903.      SetUpdate "$(XPRWindow)$(line) - ${$(Line).CID}/inactive"
  904.      XprSetup xprzedzap.library "TN,OR,B16,F0,E30,AN,DN,KN,SY,RN,M1024"
  905.      XprSetFile $(promptfile) $(username) O
  906.      XprSend $(username)
  907.      Pattern $(filestatus) fail#?
  908.      TrueJump ZsendLogout
  909.      Send "\n\r$(cps) CPS ($(cpsp)%) of $(baud) Bps\n\r"
  910.     ZSendLogout:
  911.      Send $(FileStatus)!
  912.      XprClose
  913.      SetUpdate NULL
  914.      Jump mconnect
  915.  
  916.    mconnect2:
  917.     Pattern $(namebuf) "#?}{#?"
  918.     FalseJump NotPoPin2
  919.     Set Event "EMSI_INQ"
  920.     Set Host.Sitename "JamMail Detected Bad EMSI!"
  921.  
  922.    NotPopIn2:
  923.     Cmp $(event) EMSI_INQ
  924.     FalseJump mconnect2.2
  925.    Cmp $(Event) EMSI
  926.    FalseJump NotBuggyEMSIIn
  927.    Smartsend "|**EMSI_NAKEEC3\r"
  928.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Buggy EMSI!"
  929.    
  930.   NotBuggyEMSIIn:
  931.     XprSetup wplemsi.library "Receive"
  932.    XprReceive ""
  933.    XprClose
  934.    set RC $(EMSI)
  935.    FalseJump PostSession2
  936.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> EMSI HandShake!"
  937.    SetEnv $(line).Remote.Number $(Remote.Number)
  938.    SetEnv $(line).Host.Number $(Host.Number)
  939.    XprSetup jammail.library ""
  940.    XprSend "akalookup"
  941.    XprClose
  942.  
  943.    Seta Remote $(remote.addresses)
  944.    Set Remote.Add $(Remote.domain).$(Remote.zone).$(Remote.net).$(Remote.node).$(Remote.point)
  945.    BeginSession "$(remote.addresses.valid) EMSI"
  946.    BeginSession "$(remote.addresses.valid.2)"
  947.    BeginSession "$(remote.addresses.valid.3)"
  948.    BeginSession "$(remote.addresses.valid.4)"
  949.    BeginSession "$(remote.addresses.unknown)"
  950.    BeginSession "$(remote.addresses.unknown.2)"
  951.    BeginSession "$(remote.addresses.unknown.3)"
  952.    BeginSession "$(remote.addresses.unknown.4)"
  953.  
  954.    Cmp $(remote.addresses.valid) ""
  955.    Truejump NoValidEMSIin
  956.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid)"
  957.    Cmp $(remote.addresses.valid.2) ""
  958.    Truejump NoValidEMSIin
  959.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid.2)"
  960.    Cmp $(remote.addresses.valid.3) ""
  961.    Truejump NoValidEMSIin
  962.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid.3)"
  963.    Cmp $(remote.addresses.valid.4) ""
  964.    Truejump NoValidEMSIin
  965.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Valid: $(remote.addresses.valid.4)"
  966.   NoValidEMSIin:
  967.  
  968.    Cmp $(remote.addresses.unknown) ""
  969.    Truejump NoUnknownEMSIin
  970.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown)"
  971.    Cmp $(remote.addresses.unknown.2) ""
  972.    Truejump NoUnknownEMSIin
  973.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown.2)"
  974.    Cmp $(remote.addresses.unknown.3) ""
  975.    Truejump NoUnknownEMSIin
  976.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown.3)"
  977.    Cmp $(remote.addresses.unknown.4) ""
  978.    Truejump NoUnknownEMSIin
  979.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Unknown: $(remote.addresses.unknown.4)"
  980.   NoUnknownEMSIin:
  981.  
  982.    Cmp $(remote.addresses.invalid) ""
  983.    Truejump NoBadEMSIin
  984.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid)"
  985.    Cmp $(remote.addresses.invalid.2) ""
  986.    Truejump NoBadEMSIin
  987.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid.2)"
  988.    Cmp $(remote.addresses.invalid.3) ""
  989.    Truejump NoBadEMSIin
  990.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid.3)"
  991.    Cmp $(remote.addresses.invalid.4) ""
  992.    Truejump NoBadEMSIin
  993.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Bad  : $(remote.addresses.invalid.4)"
  994.   NoBadEMSIin:
  995.  
  996.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Name : $(remote.sitename)"
  997.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Sysop: $(remote.sysop) ($(remote.city))"
  998.    Cmp $(remote.password) ""
  999.    TrueJump InEmsiProd
  1000.       RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Pass : $(remote.password)"
  1001.   InEmsiProd:
  1002.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Using: $(remote.mailer) $(remote.version)/$(remote.serial)"
  1003.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Link : $(remote.link)"
  1004.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Compt: $(remote.compat)"
  1005.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Flags: $(remote.flags),$(remote.baud)"
  1006.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Time : $(remote.time)/$(host.time)"
  1007.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Phone: $(remote.phone)"
  1008.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  1009.    Jump CheckProtocolsIn
  1010.  
  1011.  
  1012.   Mconnect2.2:
  1013.    CmpI $(event) FTS1
  1014.    FalseJump mconnect3
  1015.      SetMailerFlags "DY,PY"
  1016.      Set Remote.Address 1:1/1.1
  1017.      XprSetup xprfts.library "7y,cy,ob,ib,sy,bn,an,ny,wy,fy"
  1018.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> FTS-1: Setup $(Setup) RC:$(RC)"
  1019.      Jump xtransferin
  1020.  
  1021.    mconnect3:
  1022.      CmpI $(event) GOTYOOHOO
  1023.      FalseJump mconnect4
  1024.      SubJump jammail!wazoo
  1025.      FalseJump WaitRing
  1026.      WazooRespond
  1027.      Print "Wazoo $(event)\n"
  1028.      FalseJump PostSession2
  1029.      BeginSession $(Remote.Address)
  1030.      set Host.Compat $(YooHoo.$(host.wzcap))
  1031.  
  1032.    CheckProtocolsIn:
  1033.     Pattern $(Host.Compat) "ZAP#?"
  1034.     TrueJump ZapIn
  1035.     Pattern $(Host.Compat) "YMO#?"
  1036.     TrueJump YModIn
  1037.     Pattern $(Host.Compat) "ZMO#?"
  1038.     TrueJump ZipIn
  1039.     Pattern $(Host.Compat) "SLK#?"
  1040.     TrueJump SeaLinkIn
  1041.     Pattern $(Host.Compat) "TLK#?"
  1042.     TrueJump TeLinkIn
  1043.  
  1044.    DietIn:
  1045.     XprSetup xprfts.library "$(ftsflags.$(Remote.product))"
  1046.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: DietIFNA Setup RC:$(RC)"
  1047.     Jump XTransferIn
  1048.  
  1049.    TeLinkIn:
  1050.     XprSetup xprfts.library "OT,SN,MN"
  1051.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: TeLink Setup RC:$(RC)"
  1052.     Jump XTransferIn
  1053.  
  1054.    SeaLinkIn:
  1055.     XprSetup xprfts.library "OS,SF,WY,MN"
  1056.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: SeaLink Setup RC:$(RC)"
  1057.     Jump XTransferIn
  1058.  
  1059.    ZipIn:
  1060.     SetMailerFlags "DE,PN"
  1061.     XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,M1024 
  1062.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: ZedZip Setup RC:$(RC)"
  1063.     Jump TransferIn
  1064.  
  1065.    YModIn:
  1066.     SetMailerFlags "DE,PN"
  1067.     XprSetup xprymodem.library YB,Z1,C1,B1
  1068.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: YModem Setup RC:$(RC)"
  1069.     Jump TransferIn
  1070.  
  1071.    ZapIn:
  1072.     SetMailerFlags "DN,PN"
  1073.     XprSetup xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KN,SN,RN,NY,M8192,C$(BAUD) 
  1074.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Proto: ZedZap Setup RC:$(RC)"
  1075.     Jump TransferIn
  1076.  
  1077.    mconnect4:
  1078.    EndSession ALL
  1079.    ReplyCall 111
  1080.    Jump PostSession2
  1081.  
  1082.  
  1083.  ; called on both inbound and outbound after receiving a yoohoo
  1084.  Wazoo:
  1085.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  1086.    CmpI $(host.address) ${host.address}
  1087.    trueJump PostWazooAKA
  1088.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(line)] $<time> My AKA: $(host.address)"
  1089.  
  1090.   PostWazooAKA:
  1091.    Set NODELIST NONE
  1092.    XprSetup jammail.library ""
  1093.    XprSend "decode"
  1094.    XprSend "Lookup"
  1095.    XprClose
  1096.  
  1097.    CmpI $(Test.Type} FIDO
  1098.    TrueJump WaZoo2
  1099.    CmpI $(Test.Type} ""
  1100.    TrueJump WaZoo2
  1101.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> System TYPE conflict (Not Fido)"
  1102.    Set RC FALSE
  1103.    Return
  1104.  
  1105.   WaZoo2:
  1106.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Name : $(Remote.sitename) ($(Remote.Address))"
  1107.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Sysop: $(Remote.sysop) ($(Test.city))"
  1108.  
  1109.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  1110.  
  1111.    Set Remote.Add $(Remote.domain).$(Remote.zone).$(Remote.net).$(Remote.node).$(Remote.point)
  1112.  
  1113.    Pattern $(Remote.password) ""
  1114.    TrueJump wazooproducts
  1115.      RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Pass : $(Remote.password)"
  1116.  
  1117.   wazooproducts:
  1118.    Pattern $(mailername.$(Remote.product)) ""
  1119.    TrueJump wazoo2.1
  1120.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Using: $(mailername.$(Remote.product)) $(Remote.product_maj).$(Remote.product_min)"
  1121.    Jump wazoo2.2
  1122.  
  1123.   wazoo2.1:
  1124.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Using: $(Remote.product) $(Remote.product_maj).$(Remote.product_min)"
  1125.  
  1126.   wazoo2.2:
  1127.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> WaZoo:$(Remote.Wazoo) ($(remote.wzcap))"
  1128.    RexxMsg NY LOGPROC "FlushLog JamMailLogs"
  1129.    Set RC $(IsOutbound)
  1130.    TrueReturn
  1131.    Pattern $(Test.password) "?#?"
  1132.    TrueJump WazooPWCheck 
  1133.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> No Password Required!"
  1134.    Pattern $(Remote.password) "?#?"
  1135.    FalseJump EndWazoo
  1136.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Given: '$(Remote.password)'"
  1137.    Jump EndWazoo
  1138.  
  1139.   WazooPWCheck:
  1140.    CmpI $(Test.password) $(Remote.password)
  1141.    TrueJump WazooPWProtected
  1142.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Password Error: His:'$(Remote.password)' Ours:'$(Test.password)'"
  1143.    Set RC FALSE
  1144.    Return
  1145.  
  1146.   WazooPWProtected:
  1147.    RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Password Protected Session"
  1148.  
  1149.  EndWazoo:
  1150.    Set RC TRUE
  1151.    Return
  1152.  
  1153.  Setglobals:
  1154.  
  1155.    SetPri $(priority)
  1156.  ;Cleans - documentation of variables and saves memory
  1157.  
  1158.   Clear temp start stat event lastresponse rc return dial
  1159.   Clear remote.address remote.add remote.number remote.type remote.city
  1160.   Clear called remote.password remote.flags remote.sysop 
  1161.   Clear remote.time host.time remote.addresses remote.addresses.1
  1162.   Clear remote.compat namebuf username whatrun test.password
  1163.   Clear remote.addresses.invalid remote.addresses.invalid.2
  1164.   Clear remote.addresses.invalid.3 remote.addresses.invalid.4
  1165.   Clear remote.addresses.valid remote.addresses.valid.2
  1166.   Clear remote.addresses.valid.3 remote.addresses.valid.4
  1167.   Clear remote.addresses.unknown remote.addresses.unknownn.2
  1168.   Clear remote.addresses.unknown.3 remote.addresses.unknown.4
  1169.  ;Jumps
  1170.    Set preinbound  jammail!preinbound  Postinbound  jammail!Postinbound 
  1171.    Set preoutbound jammail!preoutbound Postoutbound jammail!Postoutbound
  1172.  
  1173.  ;General
  1174.  
  1175.    Set TimeOutValue $(TimeOutValue.$(line))
  1176.    Set SerReadBuf     16
  1177.    Set SerWriteBuf    16
  1178.    Set XferqSH        "jammail:xfreqsh"
  1179.    Set InboundLog     "logs:inbound.log"
  1180.    Set InboundCfg     "mail:xferqsh.cfg"
  1181.    Set FreqLog        "logs:freq.log"
  1182.    Set FreqCfg        "mail:xfreq.cfg"
  1183.    Set UserFreqCfg    "mail:xfreq.cfg"
  1184.    Set UserFreqLog    "logs:userfreq.log"
  1185.  
  1186.    Set FreqAddress    "User#1:0/0.$(Line)"
  1187.    Set FreqHelp       "TEXT:FreqHelp"
  1188.  
  1189.  ;Fido variables
  1190.    Set inbound "INBOUND:"  outbound "OUTBOUND:"
  1191.    Set pickup "TRUE" host.freq "TRUE"
  1192.    Set Protocols "G1,D1,G6,D6"
  1193.    Set MaxSendPri 127 MinSendPri -128
  1194.  
  1195.    Set Post_Session ""
  1196.    Set Pre_Session ""
  1197.  
  1198.    Set Host.Addresses "1:260/121.0@fidonet"
  1199.    Set Host.Serial "JamMail 0.98.421 Jun 28 1994 (20:48:31)"
  1200.    Seta host FidoNet#1:260/121.0
  1201.    Set host.wzdomain $(host.domain)
  1202.    Setenv Host.address $(host.address)
  1203.    Set host.sysop "Dotoran (David Weeks)"
  1204.    Set Host.City "Buffalo, New York, USA"
  1205.    Set Nodelist traplist
  1206.    Set NodelistDir "Nodelist:" Cache TRUE
  1207.    Set host.wzcap 13
  1208.    Set host.compat "ZAP,YMO,ZMO,SLK,TEL,ARC,XMA"
  1209.  
  1210.  ;Mailers Config
  1211.    Set mailername.0   "FTS1"
  1212.    Set mailername.5   "OPUS"
  1213.    Set mailername.7   "WPL.Library"
  1214.    Set mailername.12  "FrontDoor"
  1215.    Set mailername.26  "D'Broke"
  1216.    Set mailername.27  "Binkley"
  1217.    Set mailername.50  "Paragon/StarNet/MEBBS"
  1218.    Set mailername.57  "TrapDoor"
  1219.    Set mailername.58  "Welmat"
  1220.    Set ftsflags.58    "7n,by"
  1221.    Set mailername.66  "TIMS"
  1222.    Set mailername.105 "Portal of Power"
  1223.    Set mailername.106 "MacWoof"
  1224.    Set ftsflags.106   ""
  1225.    Set mailername.170 "Xenolink"
  1226.    Set mailername.196 "ProMailer"
  1227.    Set mailername.254 "MelMail"
  1228.    Set ftsflags.254   "ot"
  1229.  
  1230.    Set YooHoo.1 Diet
  1231.    Set YooHoo.4 ZMO
  1232.    Set YooHoo.8 ZAP
  1233.  
  1234.    Set Baud       $(BaudRate)
  1235.    Set BaudLocked $(BaudRate)
  1236.    Return
  1237.  
  1238.  ;---------
  1239.  
  1240.   preinbound:
  1241.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Receiving: '$(remfile)'"
  1242.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Temporary: '$(tempfile)'"
  1243.     Return
  1244.  
  1245.   Postinbound:
  1246.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(fileStatus): '$(infile)' ($(filesize) bytes)"
  1247.     Pattern $(fileStatus) Fail#?
  1248.     TrueReturn
  1249.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> CPS $(CPS) ($(CPSP)%)"
  1250.     Set whatrun "Run $(xferqsh) >>$(inboundlog) $(inboundcfg) $(remfile) $(infile) \"$(Remote.Address)\" $(baud)"
  1251.     Pattern $(remfile) "#?.req"
  1252.     FalseJump Postinbound2
  1253.     Set RC ${ZMH}
  1254.     TrueJump Postinbound2
  1255.     Set whatrun "Run $(xferqsh) >>$(freqlog) $(freqcfg) $(remfile) $(infile) \"$(Remote.Address)\" \"Received at $(baud) on ${$(Line).date} $<Time>\""
  1256.  
  1257.   Postinbound2:
  1258.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(whatrun)"
  1259.     RexxMsg SY REXX "Address 'COMMAND' '$(whatrun)'"
  1260.     Return
  1261.  
  1262.   preoutbound:
  1263.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> Sending: $(remfile) ($(filesize) bytes)"
  1264.     Return
  1265.  
  1266.   Postoutbound:
  1267.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> $(fileStatus): $(localfile)"
  1268.     Pattern $(fileStatus) Fail#?
  1269.     TrueReturn
  1270.     RexxMsg NY LOGPROC "PutLog JamMailLogs [$(Line)] $<Time> CPS $(CPS) ($(CPSP)%)"
  1271.     Return
  1272.  
  1273.  
  1274.  startup-1:
  1275.    Set Line 1
  1276.    Set TimeOutValue.1 300
  1277.    Set State "Configuring Line\n"
  1278.    Set device "serial.device" unit 0 serflags 164
  1279.  
  1280.    Set Host.Phone "716-823-9892"
  1281.    Set Host.Baud "14400"
  1282.    Set Host.Flags "V32b, V42b"
  1283.  
  1284.    Set baudrate      19200
  1285.    Set Locked        TRUE
  1286.    Set DTR_Control   0
  1287.    Set HangupString  "~+++|~~~ATH0|"
  1288.    Set AnswerRing    1
  1289.    Set Bang          "|AT|"
  1290.  
  1291.    Set modem "V32bis Modem"
  1292.    AddResponse  OK   "OK"
  1293.    AddResponse  BUSY "BUSY"
  1294.    AddResponse  MAID "NO CARRIER"
  1295.    AddResponse  LINE "NO DIALTONE"
  1296.    AddResponse  FIND "CONNECT "
  1297.    AddResponse  RING "RING"
  1298.    AddResponse  300  "CONNECT"
  1299.  
  1300.    Set Atten         "AT|"
  1301.    Set InitStRing    "ATZ1|"
  1302.    Set SlowModem     "FALSE"
  1303.    Set Answer        "ATA|"
  1304.  
  1305.    Set DialStRing    "ATM1DT"
  1306.    SetStatus "RAW:0/22/617/30/$(line) - $(MODEM)/Inactive"
  1307.    Set XPRWindow "RAW:0/11/640/130/"
  1308.    Set priority 0
  1309.    Jump slaveloop
  1310.  
  1311.   ModemInit:
  1312.    modemclear
  1313.    smartsend $(atten)
  1314.    getresponse 4
  1315.    cmpi $(event) OK
  1316.    truereturn
  1317.    smartsend $(initstring)
  1318.    getresponse 4
  1319.    cmpi $(event) OK
  1320.    truereturn
  1321.    cmpi $(event) ring
  1322.    truereturn
  1323.    cmpi $(event) cid
  1324.    truereturn
  1325.    cmpi $(event) time
  1326.    truereturn
  1327.    set RC $<abort>
  1328.    truereturn
  1329.    jump modeminit
  1330.  
  1331.  startup:
  1332.    Set logport LOGPROC
  1333.    Set stack 20000
  1334.    RexxMsg NY LOGPROC "PutLog JamMailLogs "
  1335.    RexxMsg SY REXX "Address 'COMMAND' 'echo >env:m.date `date` NOLINE'"
  1336.    RexxMsg NY LOGPROC "PutLog JamMailLogs \033[32m[M] $<Time> Startup on ${M.Date}"
  1337.    RexxMsg NY LOGPROC "PutLog JamMailLogs [M] $<Time> JamMail 0.98.421 Jun 28 1994 (20:48:31), ${wplname}"
  1338.    RexxMsg NY LOGPROC "PutLog JamMailLogs [M] $<Time> Kickstart ${kickstart}, Workbench ${workbench}"
  1339.    Set priority 1
  1340.  
  1341.    System "delete >nil: env:m.#?"
  1342.    Launch JAMMAIL jammail!Scheduler -3 10000
  1343.    RexxMsg NY LOGPROC "PutLog JamMailLogs [M] $<Time> Master Slave Exiting.."
  1344.    Launch JAMMAIL1 jammail!startup-1 1 20000
  1345. ;   SetStatus s:jammail.out
  1346. ;   -Listconfig jammail
  1347.    Set RETURN 0
  1348.    Return
  1349.  
  1350.  Scheduler:
  1351.    Set CallInterupt TRUE
  1352.    Set NODELIST traplist
  1353.    Set nodelistdir "Nodelist:" Cache TRUE
  1354.    Set device nullmodem.device unit 8 serflags 164
  1355.    SetStatus "RAW:0/220/617/30/JamMail_Scheduler/inactive"
  1356.    print "\033[33mJamMail Scheduler Launched!\n\n "
  1357.    ModemOpen
  1358.    Waitevent 2
  1359.    RexxMsg NY LOGPROC "PutLog JamMailLogs [S] $<Time> JamMail Scheduler Launched!"
  1360.  
  1361.   schedule:
  1362.    RexxMsg RY JAMMAIL1 "string $$(state)"
  1363.    Pattern $(result2) Wait#?
  1364.    TrueJump SchedDoLookup
  1365.    print " $<time> No Empty Lines. \233\113\r "
  1366.    Jump endscheddial
  1367.  
  1368.   SchedDoLookup:
  1369.    system "Jamtool >nil: -s"
  1370.    CheckCall
  1371.    FalseJump afterschedcheck
  1372.  
  1373.    System "eval >env:jamtool/todial ${jamtool/todial} + 1 lformat=\"%n\""
  1374.    SetEnv Jamtool/todial-${jamtool/todial} $(remote.address)
  1375.    ReplyCall 0
  1376.  
  1377.   AfterSchedCheck:
  1378.    pattern ${JamTool/ToDial} ""
  1379.    falsejump isone
  1380.    Setenv JamTool/ToDial 0
  1381.  
  1382.   isone:
  1383.    print "\r $<time> ToDial: ${JamTool/ToDial}\233\113\r "
  1384.    Cmp ${JamTool/ToDial} 0
  1385.    truejump endscheddial
  1386.  
  1387.   schedloop:
  1388.    print "\n  ${JamTool/ToDial} - ${JamTool/ToDial-${JamTool/ToDial}}\r"
  1389.    RexxMsg RN JAMMAIL1 "call ${JamTool/ToDial-${JamTool/ToDial}}"
  1390.  
  1391.   Postschedcall:
  1392.    waitevent 5
  1393.    set RC $(breakd)
  1394.    truejump preendscheddial
  1395.    set RC $(breakc)
  1396.    truejump endsched
  1397.    set RC $<abort>
  1398.    truejump endsched
  1399.    System "eval >env:JamTool/ToDial ${JamTool/ToDial} - 1 lformat=\"%n\""
  1400.    pattern ${JamTool/ToDial} 0#?
  1401.    falsejump schedloop
  1402.   preendscheddial:
  1403.    print "\n\n"
  1404.  
  1405.   endscheddial:
  1406.    print "\r $<time> ToDial: ${JamTool/ToDial}  Waiting 600\233\113\r"
  1407.    WaitEvent 600
  1408.    set RC $(breakd)
  1409.    truejump endscheddial
  1410.    set RC $(breakc)
  1411.    truejump endsched
  1412.    set RC $<abort>
  1413.    truejump endsched
  1414.    jump schedule
  1415.  
  1416.   endsched:
  1417.    RexxMsg NY LOGPROC "PutLog JamMailLogs [S] $<Time> Scheduler Exiting"
  1418.    Address JAMMAIL1 "Abort"
  1419.    Address LOGPROC "Abort"
  1420.    ModemClose
  1421.    Return
  1422.  
  1423.